package com.sxjh.config;

import com.sxjh.entity.ConfigEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.web.servlet.MultipartConfigFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.util.unit.DataSize;

import javax.servlet.MultipartConfigElement;

/**
 * 上传文件配置
 */
@Configuration
public class MultipartFileConfig {

  @Autowired
  private ConfigEntity configEntity;

  @Bean
  public MultipartConfigElement multipartConfigElement() {
    MultipartConfigFactory factory = new MultipartConfigFactory();
    //单个文件最大
    factory.setMaxFileSize(DataSize.ofMegabytes(configEntity.getSize())); //MB
    //factory.setMaxFileSize(DataSize.ofKilobytes(80)); //KB
    //factory.setMaxFileSize(DataSize.ofGigabytes(80)); //Gb
    /// 设置总上传数据总大小
    factory.setMaxRequestSize(DataSize.ofMegabytes(configEntity.getSizeCount()));
    return factory.createMultipartConfig();
  }

}
